One technology that supports messaging and queuing across a network is referred to as MQSeries and is offered by International Business Machines Corporation. With MQSeries, users can dramatically reduce application development time by using MQSeries API functions. Since MQSeries supports many platforms, MQSeries applications can be ported easily from one platform to another. In a network, two MQSeries systems communicate with each other via channels, such as MQSeries channels. An MQSeries sender channel defines a connection from one MQSeries system to another MQSeries system and transmits messages from the one system to the other system.
An MQSeries sender channel performs various functions, including establishing a channel connection with another MQSeries system; obtaining a batch of messages from its associated transmission queue; and sending the batch of messages to the other end of the channel. At the end of the batch, it requests the MQSeries system on the other end to confirm whether it has received and hardened the batch. When the confirmation is received, the MQSeries sender channel deletes the batch of messages from the transmission queue. Then, the process of obtaining, sending and deleting a batch of messages is repeated.
Unfortunately, however, the MQSeries sender channel is idle at various steps of its processing. For example, it is idle when a batch of messages is being obtained from its associated transmission queue, and it is idle when a batch of messages is being deleted from the transmission queue. Thus, the MQSeries sender channel does not perform as efficiently, as desired.
Based on the foregoing, a need exists for improvements to sender channels to make them perform more efficiently. In particular, a need exists for a technique that makes use of the idle times of a channel.